﻿using Entity;
using Entity.Enum;
using Entity.ResultModel.RoomInfo;
using Entity.Room;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IHotelBLL.IRoomBLL
{
    public interface IRoomInfoBLL
    {
        
        RoomInfo GetRoomInfoById(string id);
        bool DeleteRoomInfo(string id, out string msg);
        bool CreateRoomInfo(string name, string typeId,  decimal price, string imageName,  out string msg);
        bool RoomImg(string fileName, Stream stream, out string fileInfoId, out string msg);
        bool UpdateRoomInfo(string id, string name, string typeId, decimal price, RoomStatusEnum status, string imageName, out string msg);
        void BatchDeleteRoomInfo(List<string> ids);
        List<GetRoomInfo> GetRoomInfos(RoomStatusEnum status, int page, int limit, string name, out int count);
        List<GetRoomInfo> GetRoomInfos(string typeId);
        List<SelectOptionModel> GetRoomNameOptions(string typeId);
        List<SelectOptionModel> GetRoomInfoOptions();
        List<RoomType> GetRoomInfos();
    }
}
